/**
 * @param {number[]} prices
 * @param {number} fee
 * @return {number}
 */

var maxProfit = function (prices, fee) {
    let len = prices.length
    // 设计一个二维表格 0是不持有 1是持有
    let dp = new Array(len).fill(0).map(() => [0, 0])
    dp[0][1] = -prices[0]
    for (let i = 1; i < len; i++) {
        // 今天的不持股    是看昨天 不持股 和 昨天持股并卖掉就等于今天不持股 比较
        dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i] - fee);
        // 今天的持股 是看昨天 持股 和 昨天不持股今天持股 比较
        dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);
    }
    return dp[len - 1][0]
}
maxProfit([1, 3, 2, 8, 4, 9], 2)